#include "LED.h"

// #define LED   GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7
// 或运算：有一个为真，必定为真
#define LED 0x00FF
#define LED_PORT GPIOF

uint8_t  code[] = {0xFE, 0xFD, 0xFB, 0xF7, 0XEF, 0XDF, 0XBF, 0X7F};

void LED_Init(void)
{	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOF, ENABLE);

	GPIO_InitTypeDef GPIO_InitStructure;	//初始化结构体
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = LED;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
	GPIO_Init(LED_PORT, &GPIO_InitStructure);

	GPIO_ResetBits(LED_PORT, LED);	//置低电平
}

void LED_Display(void)
{
	for(uint8_t i = 0; i < 8; i ++)
	{
		GPIO_Write(LED_PORT, code[i]);	//直接把数组写入
		Delay_ms(150);
	}
	for(uint8_t i = 7; i > 0; i --)	//反着流回来
	{
		GPIO_Write(LED_PORT, code[i]);	
		Delay_ms(150);
	}

	// GPIO_ResetBits(LED_PORT, GPIO_Pin_5);//低电平，亮
	// Delay_ms(300);
	// GPIO_SetBits(LED_PORT, GPIO_Pin_5);//低电平，灭
	// Delay_ms(500);
}
